package main.java.twitter4j.examples.timeline;

/*
 * Copyright 2007 Yusuke Yamamoto
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.List;

import twitter4j.Query;
import twitter4j.QueryResult;
import twitter4j.Status;
import twitter4j.Tweet;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.User;
import twitter4j.conf.ConfigurationBuilder;

/**
 * @author Yusuke Yamamoto - yusuke at mac.com
 * @since Twitter4J 2.1.7
 */
public class GetMentions {
	/**
	 * Usage: java twitter4j.examples.timeline.GetMentions
	 * 
	 * @param args
	 *            String[]
	 * @throws TwitterException
	 */
	public static void main(String[] args) throws TwitterException {
		// gets Twitter instance with default credentials
		ConfigurationBuilder cb = new ConfigurationBuilder();
		cb.setDebugEnabled(true)
				.setOAuthConsumerKey("l7ONDm41KV2BVfTMEPQ")
				.setOAuthConsumerSecret(
						"SdwHfyMFfNsevFYeoNCCOshHUZEqEcEq6BFqaAZIgw")
				.setOAuthAccessToken(
						"312660739-lZCZardTnDmFQR1AtmOOeEMO2kIsdtzgMJsRjxcA")
				.setOAuthAccessTokenSecret(
						"n0p2ehUDDN2tfGGJxmfYA4ewtUv22kggWxplIussI");
		TwitterFactory tf = new TwitterFactory(cb.build());
		Twitter twitter = tf.getInstance();
		try {
			User user = twitter.verifyCredentials();
			List<Status> statuses = twitter.getMentions();
			System.out.println("Showing @" + user.getScreenName()
					+ "'s mentions.");
			for (Status status : statuses) {
				System.out.println("@" + status.getUser().getScreenName()
						+ " - " + status.getText());
			}
		} catch (TwitterException te) {
			te.printStackTrace();
			System.out.println("Failed to get timeline: " + te.getMessage());
			System.exit(-1);
		}

		System.out.println(twitter.showUser(69753774).getFollowersCount());
		System.out.println(twitter.getFollowersIDs(69753774).);
		System.out.println(twitter.showUser("@luciano_cartaxo").getScreenName());
		Query query = new Query("%40"
				+ "luciano_cartaxo");
		QueryResult result = twitter.search(query);
		for (Tweet tweet : result.getTweets()) {
			System.out.println(tweet.getFromUser() + ":" + tweet.getText());
		}

	}
}
